Searched: \.*
Results from Gpce04 web
The following papers have been accepted for presentation at the conference:

  • On the design of a domain-specific language for OS process-scheduling extensions
    Julia Lawall, Gilles Muller, Anne-Francoise Le Meur

  • Model-driven program transformation of a large avionics framework
    Jeff Gray, Jing Zhang, Yuehua Lin, Suman Roychoudhury, Hui Wu, Rajesh Sudarsan, Aniruddha Gokhale, Sandeep Neema, Feng Shi, and Ted Bapty

  • Automatic remodularization and optimized synthesis of product-families
    Jia Liu and Don Batory

  • A unification of inheritance and automatic program specialization
    Ulrik P. Schultz

  • Towards a general template introspection library
    Istvan Zolyomi and Zoltan Porkolab

  • VS-Gen: A case study of a product line for versioning systems
    Jernej Kovsel and Christian Gebauer

  • A crosscut language for control-flow
    Remi Douence and Luc Teboul

  • A fresh calculus for name management
    D. Ancona and Eugenio Moggi

  • Generating AspectJ programs with Meta-AspectJ
    David Zook, Shan Shan Huang, and Yannis Smaragdakis

  • Compiling process graphs into executable code
    Rainer Hauser and Jana Koehler

  • A generative approach to aspect-oriented programming
    Douglas R. Smith

  • Optimising embedded DSLs using Template Haskell
    Sean Seefried, Manuel Chakravarty, and Gabriele Keller

  • Metaphor: A multi-staged, object-oriented programming language
    Gregory Neverov and Paul Roe

  • Declaring and enforcing dependencies between .NET custom attributes
    Vasian Cepa and Mira Mezini

  • Generic Advice: On the combination of AOP with generative programming in AspectC++
    Daniel Lohmann, Georg Blaschke, and Olaf Spinczyk

  • Supporting flexible object database evolution with aspects
    Awais Rashid and Nicholas Leidenfrost

  • Source-level cross-language aspect-oriented programming
    Andrew Jackson and Siobhan Clarke

  • A model-driven approach for smart card configuration
    Stéphane Bonnet and Olivier Potonniée

  • Taming macros
    Ryan Culpepper and Mattias Felleisen

  • Model-driven configuration and deployment of component middleware publisher/subscriber services
    George Edwards, Gan Deng, Douglas Schmidt, Aniruddha Gokhale, and Bala Natarajan

  • A generative approach to the implementation of language bindings for the Document Object Model
    Luca Padovani, Claudio Sacerdoti Coen, and Stefano Zacchiroli

  • Splice: Aspects that analyze programs
    Sean McDirmid and Wilson C. Hsieh

  • Towards generation of high-performance transformations
    Attila Vizhanyo, Aditya Agrawal, and Feng Shi

  • Meta-programming with typed object-language representations
    Emir Pasalic

  • A generative framework for managed services
    Liam Peyton and Arif Rajwani

CALL FOR TOOL DEMONSTRATIONS


Third International Conference on

Generative Programming and Component Engineering (GPCE'04)

Vancouver, October 24-28, 2004
co-located with OOPSLA 2004 and ISMM 2004

Sponsored by ACM SIGPLAN, in cooperation with ACM SIGSOFT and Microsoft

http://gpce04.gpce.org


Demonstrations Committee

  • Simon Helsen (Chair), University of Waterloo, Canada
  • William Cook, University of Texas at Austin, USA
  • Frédéric Jouault, Université de Nantes, France

Important Dates

  • Demonstration proposal submission: July 2, 2004
  • Notification of acceptance: August 2, 2004
  • Conference: October 24-28, 2004

Overview

The conference on Generative Programming and Component Engineering offers practitioners and tool-developers an opportunity to give an in-depth technical demonstration of products, tools, techniques or approaches supporting program generation, domain-specific modeling, generative programming, template meta-programming, aspect-oriented software development, model-driven architecture, component generation, and other related topics.

GPCE tool demonstrations typically show how tools are applied in real world scenarios, for example, by considering a small case-study. We explicitely invite proposals from both industry as well as academia. Demonstrations will be selected on their technical content, practical or academic relevance, and feasibility of the proposed demonstration. While we encourage proposals for the demonstration of commercial tools, we expect the presentation to address technical issues. Product marketing is inappropriate for this forum. If there are concerns with regard to the applicability of a demonstration or tool, feel free to contact the demonstrations chair (demos04@gpce.org).

OOPSLA 2004 Co-location

Because GPCE 2004 is co-located with OOPSLA 2004 and because there is possibly some conceptual overlap, GPCE demonstrations will be held together with OOPSLA demonstrations. In practice, this means that GPCE demonstrations will run as a parallel track next to OOPSLA demonstrations in the same exhibition space. We expect that this integration benefits both GPCE and OOPSLA conference attendants.

Organizational Issues

A demonstration session will be 45 minutes in length and will be held twice over the course of the conference. It is centered around a technical exposition of the tool, but the demonstrators should provide time for questions from the public, either during the session or at the end. Depending on resource availability, there will be time and room for additional informal presentations and discussions.

Demonstration proposals, written according to the guidelines outlined below, should be sent by e-mail to the demonstrations chair (demos04@gpce.org). The deadline for proposals is July 2, 2004. Due to the OOPSLA co-location, the GPCE and OOPSLA demonstrations chairs reserve the right to transfer incoming proposals between the two conferences whenever appropriate.

Presenters of accepted demonstrations will also be expected to provide a two-page summary description to be published on the website and handed out at the conference.

Proposal Guidelines

A proposal for demonstration has to be sent via e-mail to the demonstration chair in either text, PDF or MS Word format and should contain the following information:

  1. A demonstration title
  2. Name, organization, email, address, and phone number of the contact person
  3. Names and affiliations of the other presenters
  4. A description (max 250 words) addressing the following issues:
    • Problems addressed
    • Relevance to Generative Programming or Component Engineering
    • Uniqueness of design and implementation,
    • Underlying implementation techniques and technologies used
    • A description of what the audience will see and how the demonstration will be run
  5. A URL of a web site with additional information, if available
  6. Hardware and presentation requirements
Proposals may be resent up to the submission deadline (please, indicate clearly that your proposal is an update of a previous submission).

More Information

For additional information, clarification, or questions, please feel free to contact the demonstrations chair (demos04@gpce.org)

Vancouver, October 24-28, 2004
co-located with OOPSLA 2004 and ISMM 2004

Sponsored by ACM SIGPLAN, in cooperation with ACM SIGSOFT and Microsoft

http://gpce04.gpce.org


electronic submission at
http://gpce.program-transformation.org

Scope

Generative and component approaches have the potential to revolutionize software development in a similar way as automation and components revolutionized manufacturing. Generative Programming (developing programs that synthesize other programs), Component Engineering (raising the level of modularization and analysis in application design), and Domain-Specific Languages (elevating program specifications to compact domain-specific notations that are easier to write and maintain) are key technologies for automating program development.

GPCE arose as a joint conference, merging the prior conference on Generative and Component-Based Software Engineering (GCSE) and the Workshop on Semantics, Applications, and Implementation of Program Generation (SAIG). The goal of GPCE is to provide a meeting place for researchers and practitioners interested in cutting edge approaches to software development. We aim to foster further cross-fertilization between the software engineering research community on the one hand, and the programming languages community on the other, in addition to supporting the original research goals of both the GCSE and the SAIG communities. We seek papers both in software engineering and in programming languages, and especially those that bridge the gap and are accessible to both communities at the same time.

Topics of Interest

The conference solicits submissions related (but not limited) to:

  • Generative programming
    • Reuse, meta-programming, partial evaluation, multi-stage and multi-level languages, step-wise refinement
    • Semantics, type systems, symbolic computation, linking and explicit substitution, in-lining and macros, templates, program transformation
    • Runtime code generation, compilation, active libraries, synthesis from specifications, development methods, generation of non-code artifacts, formal methods, reflection
  • Generative techniques for
    • Product lines and architectures
    • Embedded systems
    • Model-driven architecture
  • Component-based software engineering
    • Reuse, distributed platforms, distributed systems, evolution, analysis and design patterns, development methods, formal methods
  • Integration of generative and component-based approaches
  • Domain engineering and domain analysis
    • Domain-specific languages (DSLs) including visual and UML-based DSLs
  • Separation of concerns
    • Aspect-oriented programming, feature-oriented programming,
    • Intentional programming, and multi-dimensional separation of concerns
  • Industrial applications

Reports on applications of these techniques to real-world problems are especially encouraged, as are submissions that relate ideas and concepts from several of these topics, or bridge the gap between theory and practice. The program committee is happy to advise on the appropriateness of a particular subject.

Venue

The conference will be held in Vancouver Trade and Convention Center and Pan Pacific Hotel in Vancouver and will be co-located with OOPSLA 2004.

Paper Submission

Authors are invited to submit a title and abstract by March 12, 2004, and a full paper by March 19, 2004. These deadlines are firm. Simultaneous submission to other venues and submission of previously published material are not allowed. Electronic submission will be required, except by special arrangement with the program chairs. Authors will be notified of acceptance by May 17, 2004. Final versions of the papers must be submitted by July 25, 2004.

Accepted papers will appear in the conference proceedings published in the Springer-Verlag Lecture Notes in Computer Science (LNCS) series. (http://www.springer.de/comp/lncs/index.html). Submissions must be in PDF, must conform to the LNCS style, and be no longer than 20 pages. For the formatting details see http://www.springer.de/comp/lncs/authors.html.

Important Dates

Technical papers

  • Pre-submission: March 12, 2004 (closed)
  • Submission: March 19, 2004 (closed)
  • Notification: May 17, 2004 (closed)
  • Final version: July 25, 2004 (closed)

Submissions of proposals

  • Workshops: March 19, 2004 (closed)
  • Tutorials: April 2, 2004 (closed)
  • Demonstrations: July 2, 2004 (closed)

Conference

  • Tutorials: October 24, 2004
  • Workshops: October 25, 2004
  • Demonstrations: October 26-28, 2004
  • Papers: October 26-28, 2004

Organization

General chair

  • Tim Sheard (OGI School of Science & Engineering at OHSU)

Program committee chairs

Program committee

Workshop Chair

  • Zino Benaissa (Intel)

Tutorial Chair

  • Jeff Gray (University of Alabama at Birmingham)

Demos Chair

Steering Committee

Contact

Vancouver, October 24-28, 2004
co-located with OOPSLA 2004 and ISMM 2004

Sponsored by ACM SIGPLAN, in cooperation with ACM SIGSOFT and Microsoft

http://gpce04.gpce.org


Poster Chair

Important Dates

  • Poster proposal submission:
  • Notification of acceptance:
  • Conference:

Overview

Posters at GPCE provide an excellent forum for authors to present their work in an informal and interactive setting. Posters are ideal for presenting speculative, late-breaking results or for giving an introduction to interesting, innovative work. They are intended to provide authors and interested participants with the ability to connect with each other and to engage in discussions about the work. Posters provide authors with a unique opportunity to make their work highly visible during the conference. Therefore, authors of other GPCE technical submissions are encouraged to also submit a poster about their work. Posters will be on display during the entire conference.

Successful posters are carefully designed to convey technical details. They should also have a strong visual impact that attracts the attention of attendees as they stroll past the displays, either during the interactive poster session or at other times during the conference. The goal is to develop a poster that encourages and facilitates small groups of individuals interested in a technical area to gather and interact. The interactive poster session is held early in the conference, to promote continued discussion among interested parties.

Submission Format

The poster itself or the preliminary graphic layout must be submitted as a PDF file. A Poster proposal consists of:

  • a 50 word or less short abstract that summarizes the content of the poster
  • a set of keywords describing the technical area of the work
  • a two-page extended abstract, suitable for inclusion in the GPCE 2004 Conference CD
  • the poster itself, or a preliminary graphic layout of the poster (please review the poster content guidelines)

The preliminary graphic layout should consist of 1 to 3 pages that sketch the layout for an ?.?? meter (wide) by ?.?? meter (high) bulletin board. Please use 10 point or larger font in the preliminary layout, and 12 point or larger in the final poster, so that it is readable. Once you have submitted your proposal, you will receive confirmation by e-mail that your proposal has been received and is complete.

Please send poster proposals to the GPCE 2004 Posters Chair TBA to arrive no later than TBA. For additional information, clarifications, questions, or special requirements, please also contact .

Submission Guidelines

Posters cover the same interest areas as the Technical Papers, Demonstrations, and Workshops, and provide an opportunity to present work in a highly visual and interactive format:

  • Conference participants who are giving technology demonstrations should consider presenting posters that contain overviews of their demonstrations, both to attract additional attendance at demonstrations and to increase the visibility of their tools.
  • Technology providers can showcase their tools and technologies with posters.
  • The poster session provides graduate students with an outstanding forum in which to present and discuss their PhD work.
  • Research laboratories and projects can introduce themselves and their key efforts to the community by presenting posters.
  • Workshop organizers and/or attendees may present posters that summarize results from GPCE 2003 workshops. The poster session provides workshop participants a means of communicating their key results to the rest of the community.
  • Authors of work that is presented in the GPCE technical program can obtain even more benefit by presenting their work in a poster as well. The poster session provides them the opportunity to engage in more personal one-on-one discussions.

Suggestions for other key topic areas are also encouraged.

Poster authors are required to attend the scheduled interactive poster session, staying with their poster so that they can discuss their work with conference attendees. Some poster authors also post an informal schedule along with their poster, listing times when they plan to be available for discussion later on during the conference. Others leave sign-up sheets for interested viewers to obtain further information. All posters will have an associated "message board", on which viewers can post comments, ideas, and questions and on which poster authors will be able to post responses.

Posters are advertised in the Final Program, and authors' two-page extended abstracts will appear in the GPCE Conference CD, which will be distributed at to all GPCE'04 attendees. Attendees will be able to learn more about individual posters before or after visiting the exhibit.

For More Information

For additional information, clarification, or questions please feel free to contact the Poster Chair

Vancouver, October 24-28, 2004
co-located with OOPSLA 2004 and ISMM 2004

Sponsored by ACM SIGPLAN, in cooperation with ACM SIGSOFT and Microsoft

http://gpce04.gpce.org


Industrial Track Chair

Important Dates

  • Practitioner report submission:
  • Notification of acceptance:
  • Program posted on the conference website:
  • Conference:

Overview

Practitioner reports explore how concepts that sound good on paper work on real projects. They are a valuable means of communicating experiences, especially at the "bleeding edge" of technology. Many GPCE attendees want to find out what it is like to adopt new tools and development techniques; use new engineering methods; create domain-specific languages, generators, architectures and components; develop applications using the new technologies, etc. Expectations, beliefs, and hopes can be validated, or dashed, by the experience that is reported. GPCE attendees want objective reports with supporting evidence for any claims made. And they particularly want reports that discuss both benefits and drawbacks of the approaches used.

We seek for reports in two categories:

  • Project reports will describe successfully completed projects that applied technologies within the scope of GPCE'04.
  • Experience reports will focus on a particular aspect of technology usage and practice, or describe broad project experiences.

The report must contain a take-home-message for your readers; something they can learn and apply to their own work. Plain "how we did it" reports should be avoided.

Presented project and experience reports will take part in the audience vote for the GPCE'04 Best Contribution Awards.

Submission Process

You are invited to submit a four to ten page project report presenting your successful project or experience report describing your experience applying technologies within the scope of GPCE'04. The submission must include a short abstract suitable for inclusion in the Advance Program should it be accepted. If your report is accepted for presentation at GPCE, you will be expected to develop and present a 20 minute talk that will be followed by discussion. The written reports will be published at gpce.org. The submission, including full contact information (name, mailing address, telephone and fax numbers, and electronic mail address), should be submitted as a PDF, OpenOffice, or a Microsoft Word file to the Industrial Track Chair. The report submissions will be reviewed separately from technical paper submissions by a practitioner report committee. The submission should clearly state whether it should be reviewed as a project or experience report.

For More Information

For additional information, clarification, or questions please feel free to contact the Industrial Track Chair.

Vancouver, October 24-28, 2004
co-located with OOPSLA 2004 and ISMM 2004

Sponsored by ACM SIGPLAN, in cooperation with ACM SIGSOFT and Microsoft

http://gpce04.gpce.org


Tutorial Chair

Important Dates

  • Proposal submission deadline: April 2, 2004
  • Notification of acceptance: May 10, 2004
  • Camera ready notes: August 6, 2004
  • Conference: October 24-28, 2004
  • Tutorial day: October 24, 2004

Overview

Proposals for high-quality tutorials in all areas of generative programming and component-based development, from academic research to industrial applications, are solicited. Tutorial levels may be introductory, intermediate, or advanced.

A tutorial's basic purpose is to give a deeper or more covering insight into its area than a conventional lecture would do. That is why it extends over a half or a full day. This gives the speaker better possibilities to structure the tutorial in a proper manner.

The topic of a tutorial can come from a truly broad spectrum. Any interesting theme from or related to the GPCE'04 Call for Papers topic list is welcome, from surveys to experience reports or specialized research topics. However, one should keep in mind that a tutorial can be expected to attract a reasonable number of participants (at least 6 participants). This is most likely the case if the topic is new or relevant to a broad community. If you think that you are highly experienced in a certain area of object-orientation and that others could benefit from sharing this experience with you, you should submit a proposal.

Submission Format

The earlier a proposal arrives, the better the chances to get feedback in order to bring the proposal into a form that is likely to be accepted. Proposals must be submitted electronically via e-mail according to the following template:

  1. Title
    • Select an expressive title that captures the contents of your tutorial well without being too long.
    • Remember that the title must be attractive and should make a reader curious.
    • In exceptional cases we may re-edit the title in order to make it consistent with other tutorial titles.
  2. Speaker(s)
    • Give the full name and address of the tutorial speaker.
    • If there are multiple speakers, give this information for all of them but clearly specify who the contact person is.
    • Don't forget to specify the electronic mail address.
  3. Abstract
    • Give a concise description of the contents and goals of your tutorial.
    • The abstract will be used for the Advance Program.
    • It should not be longer than 150 words.
    • If it is longer, be prepared to have it cut or re-edited.
  4. Outline
    • This information will be used by the tutorial committee for reviewing the detailed tutorial contents.
    • The outline should be a table of contents of the tutorial, with a few keywords for each section, and with a rough estimate of the time spent on each.
  5. Duration
    • Tutorials can be half-day or full-day.
    • Half-day tutorials are preferred. A half-day tutorial should last for 3.5 hours including a half an hour break.
    • A full-day tutorial should last for 7 hours including two half an hour and excluding the lunch break.
  6. Level
    • The tutorial level can be introductory (requires almost no experience with object-orientation), intermediate (assumes knowledge of object-oriented concepts but little or no experience with the tutorial's subject), or advanced (assumes several years of practical experience with object-orientation and preferably also some experience with the tutorial's subject).
  7. Required experience
    • Clearly state what knowledge you expect from your participants.
    • This information will be included in the Advance Program.
    • It should not be longer than 20 words.
  8. Expected audience
    • Who should attend this tutorial?
    • How will the participants benefit from attending?
  9. Speaker's profile
    • Describe your affiliation, interests and experience.
    • It should be clear from this text that you are the right person to give this tutorial.
  10. Speaker's profile for the Advance Program
    • Provide a short version of the Speaker's profile to be included in the Advance Program.
    • It should not be longer than 40 words.
  11. Tutorial resume
    • Has this tutorial been given before?
    • How many participants were there?
    • If available, please specify the ratings that the participants gave to your tutorial.
  12. Equipment
    • Please specify the equipment you need, e.g., number of slide projectors, video projection facilities, computer tables, power plugs, paper boards, etc.
    • Note that we may not be able to provide computers for all the participants.
  13. Presentations
    • Tutorial ma/literials such as slides and handouts should be included if available, but are not required for submission. Providing such materials will show depth and maturity of the tutorial, however, and will be a factor in the selection process. If the tutorial is new, it would still be useful to include a few sample slides that let the committee judge the expected quality of the presentation.

What should a tutorial look like?

If you never presented a tutorial before here are some suggestions that may help you in preparing your presentation.

  1. Contents
    • When preparing the tutorial, keep your audience in mind.
    • People don't pay for a tutorial in order to hear things that they already know or that are irrelevant for their work.
    • So don't be vague, don't waste time with lengthy introductions, but speak to the point.
    • Don't try to impress the audience with the amount of your research, but convey practical knowledge and ideas that the participants will find useful for their own work.
    • Whenever possible, use examples and case studies and avoid lengthy abstract passages.
    • Also consider demonstrations on video or an overhead panel.
    • In order to get an audience as homogeneous as possible, clearly state which knowledge you expect from the participants in the tutorial description.
  2. Slides and notes
    • You will have to prepare tutorial notes for the participants.
    • These handouts usually contain copies of the slides that you show.
    • Here are a few guidelines for preparing the slides and the handouts.
    • Use at least a 14 pt (or better an 18 pt) font on all of your slides.
    • A good slide should not just repeat everything you say but summarize your presentation.
    • Use short phrases and keywords instead of full sentences.
    • People cannot read as fast as you speak. Make heavy use of pictures and examples.
    • Consider also using the blackboard for short examples.
    • Use colors where they are helpful, but remember that they will not appear in the black and white handouts.
    • Don't put too much or too little material on a single slide.
    • A good rule of thumb is to spend 3 minutes per slide.
    • Don't include slides that you will skip in the presentation; people will find that annoying.
    • You will have to deliver the tutorial notes in camera-ready form (see the deadline below).
    • We request that you send them as hard copy, so consider the postage delay to meet the deadline.
    • To avoid wasting paper, copy two slides on a single page (reduced size). The printed area of such a page must not exceed 27 x 17cm (10.5 x 6.7 inch).
    • In addition to the slide copies, also consider providing full-text handouts (papers, summaries, bibliography, etc.). Participants will appreciate that.
    • The maximum length of the notes for a half-day tutorial should be 50 pages for slide copies and another 20 pages for full-text material. For full-day tutorials these numbers can be doubled.
    • Try to achieve good printing quality.
    • We will add an uniform cover page to all tutorial notes.
  3. Presentation
    • The participants expect that your presentation will be much easier to understand than a book about the same subject.
    • Thus speak clearly and lively. Try to interact with your audience.
    • Encourage them to ask questions.
    • A presentation is much more lively if it also includes examples and demonstrations on the blackboard, on video or on an overhead panel.
    • Tutorials should be split into sessions of 1.5 hours each with a 0.5 hour coffee break in between.
    • Don't overrun your tutorial time. After the tutorial the participants will be asked to assess the tutorial with a questionnaire.
    • A good rating will help you when applying for other tutorials in the future.

Submission Process

Please send your tutorial proposals to tutorials04@gpce.org

Compensation

To be determined...

Related Events

Although GPCE is co-located with OOPSLA, each conference has a separate submission process for tutorials (the co-location should not be understood to mean that these are the same tutorial calls). The OOPSLA call for tutorials can be found at http://www.oopsla.org/2004/ShowPage.do?id=CallTutorials

For More Information

For additional information, clarification, or questions please feel free to contact the Tutorial Chair (tutorials04@gpce.org)

Vancouver, October 24-28, 2004
co-located with OOPSLA 2004 and ISMM 2004

Sponsored by ACM SIGPLAN, in cooperation with ACM SIGSOFT and Microsoft

http://gpce04.gpce.org


Workshop Chair

Important Dates

Workshop proposals schedule

  • Submission deadline for workshop proposals: March 19, 2004
  • Notification of workshop acceptance: April 5, 2004
  • Workshop program posted on the website: August 31, 2004

This call for participation is for workshop organizers; a later call will occur for workshop attendees.

Workshop attendee schedule (all workshops):

  • Calls for Workshop Paper Submissions issued: April 15, 2004
  • Workshop paper submission deadline: July 1, 2004
  • Workshop papers - notification of acceptance: August 31, 2004
  • Workshop papers - final versions posted at the workshop sites: October 20, 2004

  • Workshop day: Monday, October 25, 2004

Early conference registration closes on ...

Overview

GPCE workshops provide intensive collaborative environments where generative and component technologists meet to surface, discuss, and solve challenging problems facing the field.

Workshops occur on the day before the conference. To ensure a sufficiently small group for effective interaction, workshop organizers manage attendance based on an objective criterion, typically, a short position paper submitted by potential attendees. Other criteria are permitted as long as they are clearly specified in the workshop's call for participation.

We encourage proposals for innovative, well-focused workshops on a broad spectrum of component engineering and generative programming topics. All topics related to generative programming and component engineering are potential candidates for workshops. Workshops typically fall into the following categories:

  • A workshop may address a specific sub-area of generative and component technology in depth.
  • A workshop may cover areas that cross the borders of several sub areas. Workshops that cross the borders of the formal and the applied areas is one example.
  • A workshop may focus on the applications and deployment of generative and/or component technology in areas such as telecommunications, mobile computing or real-time systems. Workshops reporting on industrial experiences are particularly welcome.

Workshop topics are by no means limited to the types mentioned above. However, in each case, the proposed area is supposed to have enough impetus to yield new results that can be considered important and worth more detailed investigation.

What should a proposal look like?

Workshop proposals should be sent in ASCII or PDF format to the workshop chair, and they should consist of four pages/parts:

  1. Cover Page
    • Name of the proposed workshop.
    • Names and addresses of the organizers.
    • Intended number of participants.
    • Requested Audio/Video equipment.
  2. Abstract
    • Why it is relevant to GPCE and a short overview of the rationale for the workshop and the major topics. In particular, statements about the review process and ways to ensure creativity during the workshop would be appreciated.
    • The abstract should preferably not exceed 200 words.
  3. Call for Participation
    • A preliminary version of the Call for Participation that the organizers must prepare if the workshop is accepted.
    • Should provide a brief overview of the proposed workshop including a description of the goals of the workshops and the work practices.
    • May repeat some of the statements made on the abstract page, but should be targeted specifically to potential workshop participants.
  4. Organizers
    • Short biography of each organizer.
    • References to similar workshops organized at previous conferences, including the number of participants.
    • If a workshop is accepted, the organizers will be requested to prepare a WWW page that will contain the latest information about the workshop. The web pages of each workshop will be linked to the GPCE workshop web site.
    • Each workshop must have at least two organizers, preferably from different organizations. Preference will be shown to workshops that have more organizers. Workshop organizers and participants have to register for the conference.

Recommendations

  • Workshop organizers should in particular take care to foster the creative potential that is tentatively present in a workshop.
  • Remember that a workshop is NOT a conference!
  • The success of a workshop depends greatly on the results generated on-site.
  • A number of interrelated issues should be taken into account in order to provide a good framework for such on-site creativity.

  • Time allocation
    • During the workshop, enough time should be reserved for collaborative work.
    • Such creative sessions should have a precise topic and objective and their results should be written down so that they can be reported later. Reasonable expectations
    • One should not count on people's instantaneous and proactive participation.
    • For many reasons, participants tend to prefer a consumer role much to a producer role during a workshop.
    • Thus prescreened presentations, even formally reviewed papers, should usually precede any creative sessions. Task forces
    • Large groups tend to behave like an audience, whereas groups of four to eight people are much more likely to interact.
    • When planning collaborative sessions, consider having several smaller groups rather than one large group in order to foster the generation of new ideas.

  • Presentation selection
    • Quality should obviously be the primary criterion for selecting the presentations.
    • However, in order for a workshop to be productive, consider also having presentations on some new, controversial topics to spark discussion.
  • Participant selection
    • Although the number of workshop participants does not need to be restricted to the selected presenters, the overall size of the workshop should remain small enough to foster creativity.
    • Usually this means less than 20 participants.

Submission Process

Electronic submission of proposals is required--send to workshops04@gpce.org. Proposals must be submitted no later than March 19, 2004, BUT EARLIER IS BETTER, as it allows for a more satisfactory coordination between workshop proposals.

Proposal Review and Acceptance

The proposals received will be reviewed by the Workshop Committee to determine a high quality and appropriate mix for the conference.

For More Information

For additional information, clarification, or questions please feel free to contact the Workshop Chair.

Vancouver, October 24-28, 2004
co-located with OOPSLA 2004 and ISMM 2004

Sponsored by ACM SIGPLAN, in cooperation with ACM SIGSOFT and Microsoft

http://gpce04.gpce.org

General chair

  • Tim Sheard (OGI School of Science & Engineering at OHSU)

Program committee chairs

Program committee

Workshop Chair

  • Zino Benaissa (Intel)

Tutorial Chair

  • Jeff Gray (University of Alabama at Birmingham)

Demos Chair

Steering Committee

Contact

The proceedings of GPCE 2004 are published as:

G. Karsai and E. Visser, editors. Proceedings of the Third International Conference on Generative Programming and Component Engineering (GPCE 2004), volume 3286 of Lecture Notes in Computer Science, Vancouver, Canada, October 2004. Springer.

The proceedings can be ordered from

http://www.springeronline.com/3-540-23580-9

and are also available online at

http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3286

BibTex

@proceedings{GPCE04,
  title           = {Proceedings of the Third International Conference on Generative Programming and Component Engineering (GPCE 2004)},
  year            = {2004},
  editor          = {G. Karsai and E. Visser},
  volume          = {3286},
  series          = {Lecture Notes in Computer Science},
  address         = {Vancouver, Canada},
  month           = {October},
  publisher       = {Springer},
  urlspringer     = {http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=3286},
  urlwebsite      = {http://www.program-transformation.org/Gpce},
}

Sunday, October 24, 2004 : Tutorials and Workshops

Monday, October 25, 2004 : Tutorials and Workshops

  • Reception

Tuesday, October 26, 2004 : Technical Program and Demonstrations

8:30 - 10:00 Invited Speaker

10:00 - 10:30 Break

10:30 - 12:00 Session 1 : Aspects I

  • Generating AspectJ programs with Meta-AspectJ
    David Zook, Shan Shan Huang, and Yannis Smaragdakis

  • Splice: Aspects that analyze programs
    Sean McDirmid and Wilson C. Hsieh

  • A generative approach to aspect-oriented programming
    Douglas R. Smith

12:00 - 1:30 Lunch

1:30 - 3:00 Session 2 : Experience

  • On the design of a domain-specific language for OS process-scheduling extensions
    Julia Lawall, Gilles Muller, Anne-Francoise Le Meur

  • A generative framework for managed services
    Liam Peyton and Arif Rajwani

  • A generative approach to the implementation of language bindings for the Document Object Model
    Luca Padovani, Claudio Sacerdoti Coen, and Stefano Zacchiroli

3:00 - 3:30 Break

3:30 - 5:00 Session 3 : Model-driven approaches

  • Compiling process graphs into executable code
    Rainer Hauser and Jana Koehler

  • Model-driven configuration and deployment of component middleware publisher/subscriber services
    George Edwards, Gan Deng, Douglas Schmidt, Aniruddha Gokhale, and Bala Natarajan

  • Model-driven program transformation of a large avionics framework
    Jeff Gray, Jing Zhang, Yuehua Lin, Suman Roychoudhury, Hui Wu, Rajesh Sudarsan, Aniruddha Gokhale, Sandeep Neema, Feng Shi, and Ted Bapty

Tuesday Demonstrations

  • 10:30 - 11:15
    Demo 22: Towards Domain-Driven Development: the SmartTools Software Factory

  • 11:30 - 12:15
    Demo 15: C-SAW and GenAWeave: A Two-Level Aspect Weaving Toolsuite

  • 15:30 - 16:15
    Demo 23: Implementation of DSLs using staged interpreters in MetaOCaml

  • 16:30 - 17:15
    Demo 24: MetaEdit+: Domain-Specific Modeling for Full Code Generation Demonstrated

Wednesday, October 27, 2004 : Technical program and Demonstrations

8:30 - 10:00 GPCE Keynote Talk

10:00 - 10:30 Break

10:30 - 12:00 Session 4 : Multi-stage Programming

  • Meta-programming with typed object-language representations
    Emir Pasalic

  • Metaphor: A multi-staged, object-oriented programming language
    Gregory Neverov and Paul Roe

  • Optimising embedded DSLs using Template Haskell
    Sean Seefried, Manuel Chakravarty, and Gabriele Keller

12:00 - 1:30 Lunch

1:30 - 3:30 Session 5 : Aspects II

  • Generic Advice: On the combination of AOP with generative programming in AspectC++
    Daniel Lohmann, Georg Blaschke, and Olaf Spinczyk

  • Supporting flexible object database evolution with aspects
    Awais Rashid and Nicholas Leidenfrost

  • A crosscut language for control-flow
    Remi Douence and Luc Teboul

  • Source-level cross-language aspect-oriented programming
    Andrew Jackson and Siobhan Clarke

3:30 - 4:00 Break

4:00 - 5:00 Panel

5:00 - 5:30 GPCE Business meeting

  • GPCE in 2005 etc.

7:00 Social event in Vancouver Aquarium

Wednesday Demonstrations

  • 10:30 - 11:15
    Demo 21 Xirc: Cross-Artifact Information Retrieval

  • 12:30 - 13:15
    Demo 24 MetaEdit+: Domain-Specific Modeling for Full Code Generation Demonstrated

  • 15:30 - 16:15
    Demo 16 The Concern Manipulation Environment
    Demo 14 Program Transformations for Re-Engineering C++ Components

Thursday, October 28, 2004 : Technical program and Demonstrations

8:30 - 10:00 Session 6 : Types

  • A fresh calculus for name management
    D. Ancona and Eugenio Moggi

  • Taming macros
    Ryan Culpepper and Matthias Felleisen

  • A unification of inheritance and automatic program specialization
    Ulrik P. Schultz

10:00 - 10:30 Break

10:30 - 12:00 Session 7 : Product Lines

  • Automatic remodularization and optimized synthesis of product-families
    Jia Liu and Don Batory

  • VS-Gen: A case study of a product line for versioning systems
    Jernej Kovsel and Christian Gebauer

  • A model-driven approach for smart card configuration
    Stéphane Bonnet and Olivier Potonniée

12:00 - 1:30 Lunch

1:30 - 3:00 Session 8 : Meta-programming

  • Towards a general template introspection library
    Istvan Zolyomi and Zoltan Porkolab

  • Declaring and enforcing dependencies between .NET custom attributes
    Vasian Cepa and Mira Mezini

  • Towards generation of high-performance transformations
    Attila Vizhanyo, Aditya Agrawal, and Feng Shi

Thursday Demonstrations

  • 10:30 - 11:15
    Demo 21 Xirc: Cross-Artifact Information Retrieval
    Demo 16 The Concern Manipulation Environment

  • 11:30 - 12:15
    Demo 22 Towards Domain-Driven Development: the SmartTools Software Factory
    Demo 14 Program Transformations for Re-Engineering C++ Components

  • 12:30 - 13:15
    Demo 23 Implementation of DSLs using staged interpreters in MetaOCaml
    Demo 15 C-SAW and GenAWeave: A Two-Level Aspect Weaving Toolsuite
Online registration is joint with OOPSLA'04 and available from

Make sure to check the GPCE or OOPSLA/GPCE option and check the GPCE proceedings option.

The conference will be held in Vancouver Trade and Convention Center and Pan Pacific Hotel in Vancouver and will be co-located with OOPSLA 2004 and ISMM 2004.
Electronic submission of abstracts (before March 12, 2004) and papers (before March 19, 2004) should be done at

Mailinglists

For all chairs

For the PC chairs + General chair

For the PC

For authors

For announcements

Dates

  • Referee reports due: May 8, 2004
  • PC meeting: May 10-15

Updating the website

This is a wiki site; all organizers can edit this site with just a webbrowser.

Editing is simple

  • Go to the page you want to edit; select menu Topic and entry Edit
  • Edit the text
  • Preview Changes
  • Save Changes

See GoodStyle and TextFormattingRules for information about wiki editing.

Chair: Gabor Karsai

This panel will discuss crucial questions about the state and future of Generative Programming. Panelists include: D. Batory, K. Czarnecki, J. Gray, D. Schmidt, and W. Taha, all leading researchers in and contributors to the field of the GP. The tentative topics for discussion include:

  • What good is generative programming for anyway?
  • How do we teach GP?
  • What are standard challenge problems ("benchmarks") for GP?
  • How do we evaluate GP approaches?
  • What are the current and future directions in GP?

The panelists will present a short position statement on these topics, followed by open discussion involving the audience.

Position Statements

These are the slides that the panelists used to present there position statements.

  • Opening by Gabor Karsai?
  • Don Batory?
  • Jeff Gray?
  • Doug Schmidt?
  • Krzysztof Czarnecki?
  • Walid-Taha?

GPCE Demonstration 22

Towards Domain-Driven Development: the SmartTools Software Factory

Didier Parigot, INRIA Sophia-Antipolis

Summary

Nowadays, software needs to be more open, flexible, and capable of evolving quickly to meet new user or technology requirements. It should be easy to adapt, even by none computer-specialists. To tackle these challenges for DSL (Domain-Specific language) tools, we have developed a software factory, named SmartTools.

One of the main ideas behind the design of SmartTools (and consequently behind the design of the generated DSL tools) is to model the business logic of each concern in a technology-free manner which can then be used to generate platform-specific code. The following four concerns have been taken into consideration:

  • The language data definition;
  • The semantics analysis frameworks that describe method signatures and traversal;
  • The graphical representation of the data;
  • And the component that links together all the tools of a DSL.

To offer open and adaptable tools, its design benefits from the following paradigms:

  • Generative programming;
  • Aspect-Oriented Software Development (AOSD);
  • Component programming;
  • Model-Driven Architecture (MDA);
  • Standard technologies (XML) and patterns (such as the visitor design
  • pattern).

SmartTools is heavily bootstrapped; that is, it internally uses its technology to develop its own models. Through the development of these models, our approach in integrating the mentioned paradigms and technologies has been intensively tested and refined. Since then, SmartTools has been used to produce tools for many diverse languages such as SVG, DTD, XML scheme, CSS, WSDL, and BPEL.

The SmartTools framework represents approximately 100 000 lines of Java source code before the generation stage and 1 000 000 lines after. This ratio shows the efficiency of this approach and validates this new development approach based on generative programming.

Before the demonstration, we will present the key features of SmartTools. Then during the demonstration, we will focus on how to define different tools for a DSL and show, for each concern, the benefits gained from using the mentioned paradigms and technologies. This demonstration is not only targeted at DSL tool developers, but also at people who want to understand how these new paradigms can be practically integrated into software.

Times and Locations

  • Tue, 26 Oct., 10.30 - 11.15, Exhibition Hall Demo Room 4
  • Thu, 28 Oct., 11.30 - 12.15, Exhibition Hall Demo Room 4

MetaEdit+: Domain-Specific Modeling for Full Code Generation Demonstrated

Juha-Pekka Tolvanen, MetaCase

Summary

Domain-Specific Modeling (DSM) raises the level of abstraction beyond programming by specifying the solution directly using domain concepts. In many cases, the final products can be generated from these high-level specifications. This automation is possible because both the language and generators need fit the requirements of only one company and domain.

This demonstration introduces DSM by showing real world cases from various fields of software development: enterprise application development into Symbian smartphones, financial product definition into B2B J2EE web site, voice menu development into 8-bit microcontroller and MMS/SMS telecom service configuration. These cases illustrate how DSM, giving first class support for modeling, can prevent incorrect or unwanted designs at early stages of the development, how underlying platform complexity is hidden, and how full code can be generated from the modeler's point of view.

Second part of the demonstration will show in an interactive manner both the design side and the use side of DSM languages and generators. On the DSM use side, we implement the OOPSLA/GPCE conference registration application into a mobile phone. This is done by modeling in MetaEdit+ tool. Then we shift to the DSM design side: Using MetaEdit+ tool for metamodeling, we extend the modeling language as well as the generator. Language extensions deal with adding domain constraints, rules and new concepts. Once the DSM is extended, this allows us to revert to modeling in order to finalize our sample conference registration application.

Times and Locations

  • Tue, 26 Oct., 16.30 - 17.15, Exhibition Hall Demo Room 4
  • Wed, 27 Oct., 12.30 - 13.15, Exhibition Hall Demo Room 4

Implementation of DSLs using staged interpreters in MetaOCaml

Kedar Swadi, Rice University

Summary

Domain-specific languages (DSLs) allow programmers to write applications faster than in general-purpose languages. Two approaches are commonly taken to implement DSLs. The first is to compile the DSLs into machine-level code, or low-level languages such as C. While this results in fast implementations, writing compilers requires expertise in compiler technology, and long implementation times. An alternative approach uses interpreters to implement DSLs. Though easier to write, extend and maintain than compilers, the overhead of interpretation is unacceptably large for many applications. Relevance to GPCE and uniqueness of approach: The shortcomings in either approaches significantly impede the widespread use of DSL-based generative programming in software development. The demonstration addresses this problem using multistage programming. It shows how staged interpreters for implementing DSLs avoid problems in both abovementioned approaches, and allow efficient machine-level realizations of DSL programs. Unlike other existing approaches, this approach guarantees that the generated code is typesafe. Underlying implementation techniques and technologies used: This demonstration uses multistage programming in the MetaOCaml language to write two-stage interpreters which translate DSL programs into OCaml programs, which are finally compiled into efficient machine code and executed.

First a quick introduction to multistage programming is given using a simple example of the power function that computes x^n. The demonstration shows how three staging constructs in MetaOCaml are used to automatically generate typesafe specialised versions of this function from the generic function.

Second, the demonstration shows how to implement a staged interpreter for a small language and how to correctly measure performance of implementations. Finally, the demonstration visually shows performance gains from a staged interpreter for the LOGO graphics language. This is done by concurrently running the graphical outputs for the simple and staged interpreters on two windows placed side-by-side.

Research papers and information about downloading, installing, and using MetaOCaml are found at http://www.metaocaml.org.

Times and Locations

  • Tue, 26 Oct., 15.30 - 16.15, Exhibition Hall Demo Room 4
  • Thu, 28 Oct., 12.30 - 13.15, Exhibition Hall Demo Room 4

Xirc: Cross-Artifact Information Retrieval

Michael Eichberg, Darmstadt University of Technology
Thorsten Schaefer, Darmstadt University of Technology

Summary

In large scale software development projects, in particular in the field of Component-Based Software Development(CBSD), the kinds of a project's sources are diverse and related information is spread over the different artifacts. E.g., the transaction attributes ("Required", "Requires-New",etc.) of methods of an Enterprise Java Bean are defined in the deployment descriptor while the method bodies are defined in a Java class.

If we want to put these information into relation, e.g., to find all methods with a specific transaction attribute, we have to use multiple search engines and have to map the information manually. It is not possible to execute one query that returns the desired result.

To solve these problems we have developed XIRC, a tool and architecture that enables to define queries over a uniform representation of all artifacts of a software project. XIRC maps all artifacts of a project to XML representations and stores the documents in a database. Then, XQuery, a functional query language for XML documents (databases), can be used to query the database. Hence, XIRC can be used as a sophisticated search engine, as a tool to check implementation restrictions, to find errors or as a basis for further tools for code generation and visualization.

The first part of the demo will be a short PowerPoint presentation introducing the XIRC architecture and its features. The second part will be a live demo of the XIRC Eclipse Plug-in. This part will show how to put information spread over (EJB-) deployment descriptors and code into relation to ease the development of a component, to check implementation restrictions or to find errors.

Times and Locations

  • Wed, 27 Oct., 10.30 - 11.15, Exhibition Hall Demo Room 4
  • Thu, 28 Oct., 10.30 - 11.15, Exhibition Hall Demo Room 4

C-SAW and GenAWeave: A Two-Level Aspect Weaving Toolsuite

Jeff Gray, University of Alabama at Birmingham
Ira Baxter, Semantic Designs
Jing Zhang, University of Alabama at Birmingham
Suman Roychoudhury, University of Alabama at Birmingham

Summary

The C-SAW and GenAWeave tools support evolution of object-oriented legacy software through a two-level approach using aspects. The principle strategy of these tools is to generate low-level transformation rules from higher-level domain languages. The generated transformation rules, along with the initial version of the application source code, serve as input to the Design Maintenance System (DMS) from Semantic Designs. The generated rules drive the transformation process in order to produce a modified version of the source containing new concerns that have been woven across the application code base. The demonstration will show the ability to make rapid adaptations to a large cross-section of an application through simple specification changes at a high-level of abstraction.

As case studies, the demonstration will highlight the transformation of two legacy commercial applications: a large mission-computing avionics framework written in C++, and a client-server enterprise management system implemented in Object Pascal. In the avionics application, transformation rules are generated from domain-specific models created in the Generic Modeling Environment (from Vanderbilt University). Using C-SAW, it will be shown that small changes in a representative model can regulate concurrency and logging policies across many C++ classes. The Object Pascal portion of the demonstration will illustrate the use of DMS as the underlying engine for an aspect weaver. A unique feature of the demonstration is the ability to weave aspects into various legacy languages (not just Java) at the source level using GenAWeave.

Times and Locations

  • Tue, 26 Oct., 11.30 - 12.15, Exhibition Hall Demo Room 2
  • Thu, 28 Oct., 12.30 - 13.15, Exhibition Hall Demo Room 3

Program Transformations for Re-Engineering C++ Components

Ira Baxter, Semantic Designs
Larry Akers, Semantic Designs
Michael Mehlich, Semantic Designs

Summary

Component-based software engineering enables applications to be assembled from component parts, provided they adhere to a component-style specific interface specification and protocol. Obviously, components available for one style are not available for another. Component styles evolve, too, which can obsolete components using a legacy style. This creates a demand for migrating components from one style to another, which can require complex changes to the component source code. For a large component library, doing this manually is likely prohibitive. An alternative is to apply automated program transformations to carry out the changes.

Using source-to-source transformations on real code requires a scalable, robust program transformation technology. Such technologies are difficult to justify for single applications. DMS is a commercial program transformation system which has been used to transform many programming languages, including C++, C#, Java and ObjectPascal. It is parameterized by language and desired task, enabling its infrastructure costs to be amortized across many different software analysis or change applications.

This demonstration shows a concrete example of DMS program transformations being used to migrate legacy C++ components from a Boeing distributed avionics software system, using a Boeing proprietary component format, to a CORBA component style. The conversion requires nontrivial understanding and manipulation of the C++ source code. It will explain the component migration problem to be solved, show some of the transformations, and actually convert a component.

Times and Locations

  • Wed, 27 Oct., 15.30 - 16.15, Exhibition Hall Demo Room 3
  • Thu, 28 Oct., 11.30 - 12.15, Exhibition Hall Demo Room 2

The Concern Manipulation Environment

Peri Tarr, IBM Thomas J. Watson Research Center
Matthew Chapman, IBM Hursley Park
William Chung, IBM Thomas J. Watson Research Center
Andy Clement, IBM Hursley Park

Summary

The Concern Manipulation Environment (CME) aims to provide a set of open, extensible components and a set of tools that promote aspect-oriented software development (AOSD) throughout the software lifecycle. It has two main goals:

  1. To provide an open, integrated development environment (IDE) to enable software engineers to use AOSD techniques throughout the software lifecycle, and to allow them to use different AOSD approaches in an integrated manner.
  2. To promote the rapid development of new tools supporting AOSD at any stage of the software lifecycle, and to serve as an integrating platform for such tools, facilitating development and experimentation with new AOSD approaches.

This demonstration will highlight a number of tools and components that are useful to software developers and to AOSD tool providers and researchers. Tools for software developers include ones that allow developers to identify, model and visualize concerns, aspects and relationships in their software, covering software artifacts of any type, including both code and non-code artifacts, and including latent concerns or aspects that were not separated in the artifacts; that enable flexible queries over software; and that compose/integrate aspects and other concerns.

For AOSD tool providers and researchers, the demonstration will describe some of the CME's support for integration of tools and approaches within the environment, highlighting the integration of Java, AspectJ and Ant artifacts within the CME, and how to use the CME's extensible components to create new AOSD tools or prototypes more rapidly.

Times and Locations

  • Wed, 27 Oct., 15.30 - 16.15, Exhibition Hall Demo Room 4
  • Thu, 28 Oct., 10.30 - 11.15, Exhibition Hall Demo Room 3

Implementation of DSLs using staged interpreters in MetaOCaml
Kedar Swadi, Rice University

  • Tue, 26 Oct., 15.30 - 16.15, Exhibition Hall Demo Room 4
  • Thu, 28 Oct., 12.30 - 13.15, Exhibition Hall Demo Room 4

  • GPCE Demonstration 24 MetaEdit+: Domain-Specific Modeling for Full Code Generation Demonstrated
    Juha-Pekka Tolvanen, MetaCase
    • Tue, 26 Oct., 16.30 - 17.15, Exhibition Hall Demo Room 4
    • Wed, 27 Oct., 12.30 - 13.15, Exhibition Hall Demo Room 4

  • GPCE Demonstration 22 Towards Domain-Driven Development: the SmartTools Software Factory
    Didier Parigot, INRIA Sophia-Antipolis
    • Tue, 26 Oct., 10.30 - 11.15, Exhibition Hall Demo Room 4
    • Thu, 28 Oct., 11.30 - 12.15, Exhibition Hall Demo Room 4

  • GPCE Demonstration 21 Xirc: Cross-Artifact Information Retrieval
    Michael Eichberg, Darmstadt University of Technology
    Thorsten Schaefer, Darmstadt University of Technology
    • Wed, 27 Oct., 10.30 - 11.15, Exhibition Hall Demo Room 4
    • Thu, 28 Oct., 10.30 - 11.15, Exhibition Hall Demo Room 4


  • GPCE/OOPSLA Demonstration 15 C-SAW and GenAWeave: A Two-Level Aspect Weaving Toolsuite
    Jeff Gray, University of Alabama at Birmingham
    Ira Baxter, Semantic Designs
    Jing Zhang, University of Alabama at Birmingham
    Suman Roychoudhury, University of Alabama at Birmingham
    • Tue, 26 Oct., 11.30 - 12.15, Exhibition Hall Demo Room 2
    • Thu, 28 Oct., 12.30 - 13.15, Exhibition Hall Demo Room 3

  • GPCE/OOPSLA Demonstration 16 The Concern Manipulation Environment
    Peri Tarr, IBM Thomas J. Watson Research Center
    Matthew Chapman, IBM Hursley Park
    William Chung, IBM Thomas J. Watson Research Center
    Andy Clement, IBM Hursley Park
    • Wed, 27 Oct., 15.30 - 16.15, Exhibition Hall Demo Room 4
    • Thu, 28 Oct., 10.30 - 11.15, Exhibition Hall Demo Room 3

  • GPCE/OOPSLA Demonstration 14 Program Transformations for Re-Engineering C++ Components
    Ira Baxter, Semantic Designs
    Larry Akers, Semantic Designs
    Michael Mehlich, Semantic Designs
    • Wed, 27 Oct., 15.30 - 16.15, Exhibition Hall Demo Room 3
    • Thu, 28 Oct., 11.30 - 12.15, Exhibition Hall Demo Room 2

OOPSLA Demonstrations

The OOPSLA and GPCE demonstrations are tightly integrated with each other and open to attendants from both conferences. The full list of demonstrations can be found on the OOPSLA Demonstrations Page. The 7 GPCE demonstrations listed above are directly applicable to the GPCE public and have the suffix [GPCE] or [OOPSLA/GPCE] in their titles. However, there are a number of OOPSLA only demonstrations that might be of interest to the GPCE audience as well. Check out the OOPSLA Demonstrations Page for details.

  • Tutorial GP1 Adaptive Object-Model Architecture: Dynamically Adapting to Changing Requirements
    Joe Yoder
    Sunday 10-24-04 8:30-12:00 noon

  • Tutorial GP2: Multi-stage Programming in MetaOCaml
    Walid Taha and Cristiano Calcagno
    Sunday 1:30 - 5:00

  • Tutorial GP3: Generative Software Development
    Krzysztof Czarnecki and Jack Greenfield
    Sunday 10-24-04 1:30 - 5:00 pm

  • Tutorial GP4: Program Transformation Systems: Theory and Practice for Software Generation, Maintenance and Reengineering
    Ira Baxter and Hongjun Zheng
    Monday 10-25-2004 8:30 - 5:00 pm

OOPSLA Tutorials

GPCE attendees can sign up for any OOPSLA tutorial (at the OOPSLA tutorial rate). From the list of all OOPSLA tutorials, the following may be of particular interest to GPCE attendees:

  • Model-Driven Software Development: Introduction & Best Practices
  • Enterprise Aspect-Oriented Programming with AspectJ
  • Feature Oriented Programming and Product-Lines
  • MDA and Other Model-Oriented Technologies
  • Aspect-Oriented Programming with AspectJ
  • Hands-on Programming with AspectJ
  • Using Domain-Specific Languages, Patterns, Frameworks and Tools to Assemble Applications
  • Domain-Driven Design
Technical papers

  • Pre-submission: March 12, 2004 (closed)
  • Submission: March 19, 2004 (closed)
  • Notification: May 17, 2004 (closed)
  • Final version: July 25, 2004 (closed)

Submissions of proposals

  • Workshops: March 19, 2004 (closed)
  • Tutorials: April 2, 2004 (closed)
  • Demonstrations: July 2, 2004 (closed)

Conference

  • Tutorials: October 24, 2004
  • Workshops: October 25, 2004
  • Demonstrations: October 26-28, 2004
  • Papers: October 26-28, 2004

Jack Greenfield

Jack Greenfield is an architect for enterprise frameworks and tools at Microsoft. He was previously the chief architect of the Practitioner Desktop Group at Rational Software Corporation, and the founder and CTO of InLine Software Corporation. At NeXT, he was a key contributor to the Enterprise Objects Framework, now known as Web Objects from Apple Computer. A well-known speaker and writer, Mr. Greenfield is also coauthor of the book Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools published by John Wiley and Sons. He has contributed to the Unified Modeling Language (UML), the Java 2 Platform, Enterprise Edition (J2EE), and related Object Management Group (OMG) and Java Community Process (JCP) specifications. He holds a BS degree in Physics from George Mason University.

Keynote Talk on Software Factories

Increasingly complex and rapidly changing requirements and technologies are making application development increasingly difficult. This talk examines this phenomenon, and presents a simple pattern for building languages, patterns, frameworks and tools for specific domains, such as user interface construction or database design. Software Factories integrate critical innovations in adaptive assembly, software product lines, and model driven development to reduce the cost of implementing this pattern, making it cost effective for narrower and more specialized domains, such as B2B commerce and employee self service portals.

In a nutshell, a software factory is a development environment configured to support the rapid development of a specific type of application. At the heart of the methodology is the software factory schema, a network of viewpoints describing the artifacts that comprise the members of a family of software products, and the languages, patterns, frameworks and tools used to build them. Mappings between the viewpoints support traceability, validation, assisted development and complete or partial transformation. They also support a style of agile development called constraint b